import threading
import time

value = 'aaa'


def run(i):
    # 阻塞两秒再将全局变量value的值修改为'bbb'
    time.sleep(2)
    global value
    value = 'bbb'
    print('线程开始', i, threading.current_thread().name, value)
    time.sleep(2)


def run1(i):
    print('线程开始', i, threading.current_thread().name, value)
    time.sleep(2)


# 创建线程并命名，传参
thr1 = threading.Thread(target=run, args=(1,), name='luck-1')
thr2 = threading.Thread(target=run1, args=(2,), name='luck-2')
thr1.start()
thr2.start()
#虽然thr1先执行，但是被阻塞了，thr2输出的value仍然是未修改的
thr1.join()
thr2.join()
print(value)
"""每个进程都会有一个默认主线程MainThread
在每个进程内开启的线程为子线程
"""
print('线程开始', threading.current_thread().name)
print('over')
